Introduction
In previous lessons we have learned how ANNs can be used for pattern recognition and in programming exercises we have built our first feedforward, back propagation networks. However, as we shall see, the scope of possibilities for the application of ANNs is vast and it is now common to find artificial neural network technology in a broad range of domains. Before returning to our programming exercises, we shall introduce and discuss a small sample of those applications.
Applications in robotics
There are many complex applications for ANN in robotics and one of the most common is in the control of autonomous object avoidance in robotic vehicles. A very simple example may be an autonomously driven vehicle provided with bump sensors at the front left and front right, and an ANN controller that outputs drive signals to the vehicles left and right wheel motors:
Figure 1: A drive controller for a simple robot vehicle
The above network could be trained to manoeuvre the robot out of the way of and around obstacles in the robot’s path using the back propagation algorithm. Training sets could be generated by placing various obstacles in the robot’s path (forming inputs) and the targets would be the required drive conditions that would successfully enable the robot to avoid each obstacle. Often this simple ANN is sufficient, particularly when bump sensors are replaced with proximity sensors (or extending whisker-like sensors) that allow the ANN to detect inputs whilst the robot itself is still some distance away from the object.
Within the domain of autonomously robot vehicles, ANNs have found many applications including the control of drive mechanics and manipulators, path finding through mazes and intelligent power supplies.
Universal trainable logic
In the previous section, the simple obstacle avoidance controller illustrated is simply an example of a neural network being trained to produce a truth-table (in this case being the inputs and outputs that allow the robot to react and take avoidance action based on detection of an obstacle), e.g.:
Input |
Output |
||
---|---|---|---|
Left Bump Sensor |
Right Bump Sensor |
Left Drive Controller |
Right Drive Controller |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
In this sense, an ANN could be trained to act like a universal logic system, capable of learning to produce any truth table given the appropriate training. Importantly, the same network could be re-trained at a later time without change of software or hardware, to produce a different truth table. Additionally, these networks could be trained to be noise tolerant or if the activation of the neurons within the ANN is governed by a sigmoid function, then the universal logic system can act similarly to a ‘fuzzy logic’ system, producing semi-analogue outputs.
To summarise, using an ANN to act as a ‘universal logic system’ has the following potential benefits:
- Capable to be trained to produce any logic table.
- Can be re-trained without changing hardware or software.
- Input noise tolerant.
- Could act similar to a fuzzy logic system if desired
Applications in commercial electronics
Neural nets are already finding widespread applications in the realm of commercial electronics and their uses in the domain continues to grow with the rise of ‘smart’ appliances. An example of an already existing use case is in the automatic control of washing machines, in which the ANN can be fed a series of inputs (such as washing load weight, user selected settings, amount of washing powder, etc.) and the ANN might then seek to optimise the wash cycle (controlling aspects such as temperature, washing cycle type and length of each stage of the cycle). This system provides benefit by being able to recognise highly variable inputs as ‘noisy’ versions of some pre-trained input pattern and to then select the optimal output pattern for those categories.
Similar applications could be thought of for various white goods such as: fridges that adjust their temperature based on their content; dishwashers that adjust their wash based on the number or weight of loaded plates; or vacuums that automatically adjust height and power based on the surface they are operating upon.
Similar applications can be found outside the home. For example, an engine management system may detect input parameters such as road surface, environmental conditions, condition of engine and user input (acceleration, braking, etc.) to optimise the propulsion or braking systems to maximise vehicle performance.
Applications in control systems
The autonomous object avoidance robot, illustrated earlier, was a very simple example of using an ANN for directional control purposes by producing a simple truth table of actions. Networks could also be used to replace other forms of control system. For example, suppose we implemented a system that would seek to control the position of the robot using a position sensor, speed sensor and acceleration sensor.
Figure 1: ANN to emulate PID controller
This would normally be achieved using a PID type controller (operating on error as opposed to absolute values). An ANN based controller such as this could be trained, using the BP algorithm, based on the functionality of a traditional controller, or alternatively, it could learn from experience, using a Reinforcement Learning Algorithm or a Genetic Algorithm to set its weights. Both of these methods of learning will be covered in later sections.
Recognising waveforms and signal processing
A useful application of Neural Nets is their ability to recognise and classify the time domain response of systems, i.e., the waveform characteristic describing how a system behaves over a given time period. A common method for achieving this, is by discretising a waveform and assigning specific samples (samples at a given time) to specific input neurons as illustrated:
Figure 5: ANN sampling of time domain signal
In this application, the network is essentially trying to map an analogue signal to a digital target pattern. In this application, the capability of an ANN to recognise ‘noisy’ signals is of great benefit as a ‘noisy’ analogue signal is one that would maintain the same characteristic shape without being exact as illustrated by the grey line in the above illustration. The network could also be trained to process the waveforms and implement mathematical transforms on them to form Digital Signal Processing (DSP) functions.
Intelligent sensing and biomedical sciences
In the control system outlined in the previous sections, the network was trained to take inputs from the sensors on the motor and to produce a desired output, i.e., a change in the drive of the vehicle to avoid an object or to maintain a direction. It should be noted that at no point is the ANN required to have knowledge of the system it is controlling, i.e., to know about the car it is driving. This illustrates a particularly useful trait of ANNs: they are able to untangle complex interacting inputs to derive the desired output, without having knowledge of the system. In such cases, the ANN needs only an adequate set of training data to enable the network to learn how to emulate the complex system. Note that the programmer also doesn’t have to understand how the system works as the network learns autonomously.
In engineering, this characteristic makes ANNs very useful in condition monitoring of machines, the task of monitoring a signal such as vibration for patterns that infer the condition of the machine, allowing for the identification of the onset of potential faults enabling the machine to be serviced before the fault leads to catastrophic breakdown. For example, the currents and voltages of an electric machine could be monitored and fed to an ANN that has been trained to look for patterns (an ‘electrical signature’) that the ANN has been trained to associate with various fault conditions. Similarly, mechanical parameters such as vibration, pressure, temperature or strain could be used to detect internal damage, aging or degradation. Particular fault modalities are often purposefully re-created in lab conditions to generate the training set. This application is known as ‘intelligent sensing’.
In the biomedical field, intelligent sensing ANNs have been trained to monitor cardiac rhythms, changes in blood pressure, nervous activity and other signals for the detection of early onset health conditions or to attempt to emulate the complex bodily system. An example of such emulation is in the control of prosthetic limbs. The physical interface of a limb to the nervous system is both fragile and extremely complex meaning that interfacing the electromechanical prosthetic with the body has proven difficult. In the future ANN may be used to monitor nerve signals sent to the prosthetic limb (along with several other signals such as muscular activity) to infer the action that the body is attempting to generate. In this application, ANNs may have some success in acting as an interface between the body and the electromechanical limb; making sense of the intended behaviour from a complex biological dataset and translating that intent to drive signals for the prosthetic.
Prediction modelling
In systems, the outcome of which are difficult to predict but are believed to have numerous causal variables, many domain experts are now turning to artificial neural networks to attempt to better predict future events. Given ANNs capability for obscure pattern recognition, the technology has had great success in this application often outperforming traditional methods for predictions generated by traditional means. Given the broad definition of these systems, ANNs have found success in this application across many domains including:
- Predicting financial markets
- Modelling social behaviour such as purchasing intentions or crowd dynamics
- Predicting mosquito abundances and locust swarms
- Modelling environmental conditions such as flooding or drought
- Modelling weather patterns such as solar radiation
In the engineering domain they can be used to identify system types, predict responses in control systems or monitor the condition of equipment.
Summary
In this section, we have introduced a small sample of applications in which ANNs are being used in the world today. If you are interested in further study you can find further reading at the following resources:
- Engineering & Technology Magazine / Artificial Intelligence
- Quanta Magazine / What’s up in Neural Networks
- The Scientist Magazine / Neural Networks
- Applications of Artificial Neural-Networks for Energy Systems. Soteris A. Kalogirou. Published in Applied Energy, Volume 67, Sept 2000